package lvbu.wang.lvbuoperator.bean;

/**
 * Created by DaiQing.Zha on 2016/6/12 0012.
 * Email:1642674371@qq.com
 * Description:
 */
public class JsonMotor {

    public static class MotorInfo2Volatile {
        private long motorId;                  // 电机流水号
        private String motorName;             //电机名字
        private int powerLevel;             //助力等级
        private Boolean lockStatus;        //电机锁定状态：0未锁定，1锁定
        private Boolean isOnline;         //是否在线：离线和在线是更改此字段
        private String assistantMode;  //助力模式

        public String getAssistantMode() {
            return assistantMode;
        }

        public void setAssistantMode(String assistantMode) {
            this.assistantMode = assistantMode;
        }

        public long getMotorId() {
            return motorId;
        }

        public void setMotorId(long motorId) {
            this.motorId = motorId;
        }

        public String getMotorName() {
            return motorName;
        }

        public void setMotorName(String motorName) {
            this.motorName = motorName;
        }

        public int getPowerLevel() {
            return powerLevel;
        }

        public void setPowerLevel(int powerLevel) {
            this.powerLevel = powerLevel;
        }

        public Boolean getLockStatus() {
            return lockStatus;
        }

        public void setLockStatus(Boolean lockStatus) {
            this.lockStatus = lockStatus;
        }

        public Boolean getIsOnline() {
            return isOnline;
        }

        public void setIsOnline(Boolean isOnline) {
            this.isOnline = isOnline;
        }
    }

    public static class MotorCommand {
        private String id;                  // 流水号：motorId+SendCode+时间
        private long motorId;              // motor流水号
        private String sendCode;          // 服务器向电机发送的指令代码，例如：A0,A1,A2
        private String sendContent;      // 服务器向电机发送的内容，例如：A0****
        private String answerContent;   // 电机应答的内容
        private String answerResult;   // 应答结果：01应答等待中，02应答成功，03应答超时

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public long getMotorId() {
            return motorId;
        }

        public void setMotorId(long motorId) {
            this.motorId = motorId;
        }

        public String getSendCode() {
            return sendCode;
        }

        public void setSendCode(String sendCode) {
            this.sendCode = sendCode;
        }

        public String getSendContent() {
            return sendContent;
        }

        public void setSendContent(String sendContent) {
            this.sendContent = sendContent;
        }

        public String getAnswerContent() {
            return answerContent;
        }

        public void setAnswerContent(String answerContent) {
            this.answerContent = answerContent;
        }

        public String getAnswerResult() {
            return answerResult;
        }

        public void setAnswerResult(String answerResult) {
            this.answerResult = answerResult;
        }

        @Override
        public String toString() {
            return "MotorCommand{" +
                    "id='" + id + '\'' +
                    ", motorId=" + motorId +
                    ", sendCode='" + sendCode + '\'' +
                    ", sendContent='" + sendContent + '\'' +
                    ", answerContent='" + answerContent + '\'' +
                    ", answerResult='" + answerResult + '\'' +
                    '}';
        }
    }

    public static class MotorTrip {
        private long motorId;
        private long tripDist;
        private long tripDistUphill;
        private long tripTime;
        private long tripTimeUphill;
        private long consumeJoule;
        private long consumeJouleUphill;

        public long getMotorId() {
            return motorId;
        }

        public void setMotorId(long motorId) {
            this.motorId = motorId;
        }

        public long getTripDist() {
            return tripDist;
        }

        public void setTripDist(long tripDist) {
            this.tripDist = tripDist;
        }

        public long getTripDistUphill() {
            return tripDistUphill;
        }

        public void setTripDistUphill(long tripDistUphill) {
            this.tripDistUphill = tripDistUphill;
        }

        public long getTripTime() {
            return tripTime;
        }

        public void setTripTime(long tripTime) {
            this.tripTime = tripTime;
        }

        public long getTripTimeUphill() {
            return tripTimeUphill;
        }

        public void setTripTimeUphill(long tripTimeUphill) {
            this.tripTimeUphill = tripTimeUphill;
        }

        public long getConsumeJoule() {
            return consumeJoule;
        }

        public void setConsumeJoule(long consumeJoule) {
            this.consumeJoule = consumeJoule;
        }

        public long getConsumeJouleUphill() {
            return consumeJouleUphill;
        }

        public void setConsumeJouleUphill(long consumeJouleUphill) {
            this.consumeJouleUphill = consumeJouleUphill;
        }
    }

    /**
     * 固件版本
     */
    public static class FirmwareInfo {
        private String firmwareVersion;
        private String hardwareVersion;
        private int maxSection;
        private int len;

        public String getFirmwareVersion() {
            return firmwareVersion;
        }

        public void setFirmwareVersion(String firmwareVersion) {
            this.firmwareVersion = firmwareVersion;
        }

        public String getHardwareVersion() {
            return hardwareVersion;
        }

        public void setHardwareVersion(String hardwareVersion) {
            this.hardwareVersion = hardwareVersion;
        }

        public int getMaxSection() {
            return maxSection;
        }

        public void setMaxSection(int maxSection) {
            this.maxSection = maxSection;
        }

        public int getLen() {
            return len;
        }

        public void setLen(int len) {
            this.len = len;
        }
    }

    /**
     * 固件升级
     */
    public static class FirmwareUpgrade {
        private long motorId;
        private String firmwareVersion;
        private String hardwareVersion;
        private int sectionAlready;
        private String state;
        private int maxSection;
        private String upgradeDate; //升级时间
        private String overDate;   //升级之后的时间

        public String getUpgradeDate() {
            return upgradeDate;
        }

        public void setUpgradeDate(String upgradeDate) {
            this.upgradeDate = upgradeDate;
        }

        public String getOverDate() {
            return overDate;
        }

        public void setOverDate(String overDate) {
            this.overDate = overDate;
        }

        public long getMotorId() {
            return motorId;
        }

        public void setMotorId(long motorId) {
            this.motorId = motorId;
        }

        public String getFirmwareVersion() {
            return firmwareVersion;
        }

        public void setFirmwareVersion(String firmwareVersion) {
            this.firmwareVersion = firmwareVersion;
        }

        public String getHardwareVersion() {
            return hardwareVersion;
        }

        public void setHardwareVersion(String hardwareVersion) {
            this.hardwareVersion = hardwareVersion;
        }

        public int getSectionAlready() {
            return sectionAlready;
        }

        public void setSectionAlready(int sectionAlready) {
            this.sectionAlready = sectionAlready;
        }

        public String getState() {
            return state;
        }

        public void setState(String state) {
            this.state = state;
        }

        public int getMaxSection() {
            return maxSection;
        }

        public void setMaxSection(int maxSection) {
            this.maxSection = maxSection;
        }

        @Override
        public String toString() {
            return "FirmwareUpgrade{" +
                    "motorId=" + motorId +
                    ", firmwareVersion='" + firmwareVersion + '\'' +
                    ", hardwareVersion='" + hardwareVersion + '\'' +
                    ", sectionAlready=" + sectionAlready +
                    ", state='" + state + '\'' +
                    ", maxSection=" + maxSection +
                    ", upgradeDate='" + upgradeDate + '\'' +
                    ", overDate='" + overDate + '\'' +
                    '}';
        }
    }

    public class BikePhoto
    {
        public long motorId;//motorId
        public int len;//大小长度
        public String fileName;//文件名,例如:10000000001_20150512151526768655

        public long getMotorId() {
            return motorId;
        }

        public void setMotorId(long motorId) {
            this.motorId = motorId;
        }

        public int getLen() {
            return len;
        }

        public void setLen(int len) {
            this.len = len;
        }

        public String getFileName() {
            return fileName;
        }

        public void setFileName(String fileName) {
            this.fileName = fileName;
        }
    }
    public static class MotorStatusDict {
        private String statusCode;
        private String statusName;
        private String remark;

        public String getStatusCode() {
            return statusCode;
        }

        public void setStatusCode(String statusCode) {
            this.statusCode = statusCode;
        }

        public String getStatusName() {
            return statusName;
        }

        public void setStatusName(String statusName) {
            this.statusName = statusName;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }
    }

    public static class MotorWheelInfo {
        private long motorId;// motorId
        private String colorMetalCap;// 端盖颜色（金属盖）
        private String colorPlasticCap;// 盖板颜色（塑料片）
        private String colorWheel;// 车圈颜色
        private String brandModelMotorCore;// 机芯品牌型号
        private String brandModelWheel;// 车圈品牌型号
        private String brandModelTyreInner;// 内胎品牌型号
        private String brandModelTyreOutside;// 外胎品牌型号
        private String brandModelSpoke;// 辐条品牌型号
        private String barcode;// 对应的二维码（全部二维码信息）
        private int managerId;// 检测员
        private String createDate;// 创建时间

        public long getMotorId() {
            return motorId;
        }

        public void setMotorId(long motorId) {
            this.motorId = motorId;
        }

        public String getColorMetalCap() {
            return colorMetalCap;
        }

        public void setColorMetalCap(String colorMetalCap) {
            this.colorMetalCap = colorMetalCap;
        }

        public String getColorPlasticCap() {
            return colorPlasticCap;
        }

        public void setColorPlasticCap(String colorPlasticCap) {
            this.colorPlasticCap = colorPlasticCap;
        }

        public String getColorWheel() {
            return colorWheel;
        }

        public void setColorWheel(String colorWheel) {
            this.colorWheel = colorWheel;
        }

        public String getBrandModelMotorCore() {
            return brandModelMotorCore;
        }

        public void setBrandModelMotorCore(String brandModelMotorCore) {
            this.brandModelMotorCore = brandModelMotorCore;
        }

        public String getBrandModelWheel() {
            return brandModelWheel;
        }

        public void setBrandModelWheel(String brandModelWheel) {
            this.brandModelWheel = brandModelWheel;
        }

        public String getBrandModelTyreInner() {
            return brandModelTyreInner;
        }

        public void setBrandModelTyreInner(String brandModelTyreInner) {
            this.brandModelTyreInner = brandModelTyreInner;
        }

        public String getBrandModelTyreOutside() {
            return brandModelTyreOutside;
        }

        public void setBrandModelTyreOutside(String brandModelTyreOutside) {
            this.brandModelTyreOutside = brandModelTyreOutside;
        }

        public String getBrandModelSpoke() {
            return brandModelSpoke;
        }

        public void setBrandModelSpoke(String brandModelSpoke) {
            this.brandModelSpoke = brandModelSpoke;
        }

        public String getBarcode() {
            return barcode;
        }

        public void setBarcode(String barcode) {
            this.barcode = barcode;
        }

        public int getManagerId() {
            return managerId;
        }

        public void setManagerId(int managerId) {
            this.managerId = managerId;
        }

        public String getCreateDate() {
            return createDate;
        }

        public void setCreateDate(String createDate) {
            this.createDate = createDate;
        }
    }

    public static class MotorTypeDict {
        private String typeName;// name
        private String typeCode;// 编号用于发送给电机，电机根据不同的型号调整不同的参数。一共10位AABBCCDDDD，AA：电机系列，例如01表示赤兔、02表示的卢等，硬件程序中可忽略；BB：前轮或者后轮，01表示前轮、02表示后轮；CC：电池数量,10、20、30；DDDD：电池功率数，107 215 322,不足四位前面补0
        private String position;// 位置：前轮 后轮
        private String batteryBrandModel;// 电池品牌型号
        private int batteryQuantity;// 电池数量
        private int voltagePeak;// 最大电压
        private float WhTotal;// 总瓦时
        private int mAhOne;// 单节电池毫安时
        private String remark;// 备注
        private String createDate;// 创建时间

        public String getTypeName() {
            return typeName;
        }

        public void setTypeName(String typeName) {
            this.typeName = typeName;
        }

        public String getTypeCode() {
            return typeCode;
        }

        public void setTypeCode(String typeCode) {
            this.typeCode = typeCode;
        }

        public String getPosition() {
            return position;
        }

        public void setPosition(String position) {
            this.position = position;
        }

        public String getBatteryBrandModel() {
            return batteryBrandModel;
        }

        public void setBatteryBrandModel(String batteryBrandModel) {
            this.batteryBrandModel = batteryBrandModel;
        }

        public int getBatteryQuantity() {
            return batteryQuantity;
        }

        public void setBatteryQuantity(int batteryQuantity) {
            this.batteryQuantity = batteryQuantity;
        }

        public int getVoltagePeak() {
            return voltagePeak;
        }

        public void setVoltagePeak(int voltagePeak) {
            this.voltagePeak = voltagePeak;
        }

        public float getWhTotal() {
            return WhTotal;
        }

        public void setWhTotal(float whTotal) {
            WhTotal = whTotal;
        }

        public int getmAhOne() {
            return mAhOne;
        }

        public void setmAhOne(int mAhOne) {
            this.mAhOne = mAhOne;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getCreateDate() {
            return createDate;
        }

        public void setCreateDate(String createDate) {
            this.createDate = createDate;
        }
    }


    public static class MotorTyreDict {
        private String code;// 编号
        private String name;// 24*1.95
        private float circumference;// 周长(单位：米)
        private String remark;// 备注
        private String statusCode;  //状态码
        private int sort;
        private String createDate;// 创建时间

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public float getCircumference() {
            return circumference;
        }

        public void setCircumference(float circumference) {
            this.circumference = circumference;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getStatusCode() {
            return statusCode;
        }

        public void setStatusCode(String statusCode) {
            this.statusCode = statusCode;
        }

        public int getSort() {
            return sort;
        }

        public void setSort(int sort) {
            this.sort = sort;
        }

        public String getCreateDate() {
            return createDate;
        }

        public void setCreateDate(String createDate) {
            this.createDate = createDate;
        }
    }

    public static class MotorColorDict {
        private String code;
        private String name;
        private String kind;
        private String remark;
        private String createDate;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getKind() {
            return kind;
        }

        public void setKind(String kind) {
            this.kind = kind;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getCreateDate() {
            return createDate;
        }

        public void setCreateDate(String createDate) {
            this.createDate = createDate;
        }
    }
    public static class MotorPartsBrandModelDict {
        private String code;
        private String brandModel;
        private String kind;
        private String remark;
        private String createDate;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getBrandModel() {
            return brandModel;
        }

        public void setBrandModel(String brandModel) {
            this.brandModel = brandModel;
        }

        public String getKind() {
            return kind;
        }

        public void setKind(String kind) {
            this.kind = kind;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getCreateDate() {
            return createDate;
        }

        public void setCreateDate(String createDate) {
            this.createDate = createDate;
        }
    }

    public static class MotorExamineResult{

        public long motorId;
        public boolean result;
        public String statusCode;
        public String message;

        public long getMotorId() {
            return motorId;
        }

        public void setMotorId(long motorId) {
            this.motorId = motorId;
        }

        public boolean isResult() {
            return result;
        }

        public void setResult(boolean result) {
            this.result = result;
        }

        public String getStatusCode() {
            return statusCode;
        }

        public void setStatusCode(String statusCode) {
            this.statusCode = statusCode;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        @Override
        public String toString() {
            return "MotorExamineResult{" +
                    "motorId=" + motorId +
                    ", result=" + result +
                    ", statusCode='" + statusCode + '\'' +
                    ", message='" + message + '\'' +
                    '}';
        }
    }
    }
